home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 July & August / PCWorld_2006-07-08_cd.bin / v cisle / acehtml / acehtmlfreeware.exe / scriptdef / Dropping Text.sd < prev    next >
INI File  |  2004-06-28  |  8KB  |  282 lines

  1. [SUBJECT]
  2. Description=Dropping Text Script
  3. ImageIndex=-1
  4. Folder=Text Effects
  5.  
  6.  
  7. [HEAD_TEXT]
  8. ;<script language="JavaScript" fptype="dynamicanimation8">
  9. ;<!--
  10. ;
  11. ;  dynamicanimAttr = "dynamicanimation8";
  12. ;  animateElements = new Array();
  13. ;  currentElement = 0;
  14. ;  speed = 0;
  15. ;  stepsZoom = 8;
  16. ;  stepsWord = 8;
  17. ;  stepsFly = 12;
  18. ;  stepsSpiral = 16;
  19. ;  steps = stepsZoom;
  20. ;  step = 0;
  21. ;  outString = "";
  22. ;  function dynAnimation8()
  23. ;  {
  24. ;    var ms = navigator.appVersion.indexOf("MSIE");
  25. ;    ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4);
  26. ;    if(!ie4)
  27. ;    {
  28. ;      if((navigator.appName == "Netscape") &&
  29. ;         (parseInt(navigator.appVersion.substring(0, 1)) >= 4))
  30. ;      {
  31. ;        for (index=document.layers.length-1; index >= 0; index--)
  32. ;        {
  33. ;            layer=document.layers[index];
  34. ;            if (layer.left==10000)
  35. ;                layer.left=0;
  36. ;        }
  37. ;      }
  38. ;      return;
  39. ;    }
  40. ;    for (index=document.all.length-1; index >= document.body.sourceIndex; index--)
  41. ;    {
  42. ;      el = document.all[index];
  43. ;      animation = el.getAttribute(dynamicanimAttr, false);
  44. ;      if(null != animation)
  45. ;      {
  46. ;        if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")
  47. ;        {
  48. ;          ih = el.innerHTML;
  49. ;          outString = "";
  50. ;          i1 = 0;
  51. ;          iend = ih.length;
  52. ;          while(true)
  53. ;          {
  54. ;            i2 = startWord(ih, i1);
  55. ;            if(i2 == -1)
  56. ;              i2 = iend;
  57. ;            outWord(ih, i1, i2, false, "");
  58. ;            if(i2 == iend)
  59. ;              break;
  60. ;            i1 = i2;
  61. ;            i2 = endWord(ih, i1);
  62. ;            if(i2 == -1)
  63. ;              i2 = iend;
  64. ;            outWord(ih, i1, i2, true, animation);
  65. ;            if(i2 == iend)
  66. ;              break;
  67. ;            i1 = i2;
  68. ;          }
  69. ;          document.all[index].innerHTML = outString;
  70. ;          document.all[index].style.posLeft = 0;
  71. ;          document.all[index].setAttribute(dynamicanimAttr, null);
  72. ;        }
  73. ;        if(animation == "zoomIn" || animation == "zoomOut")
  74. ;        {
  75. ;          ih = el.innerHTML;
  76. ;          outString = "<SPAN " + dynamicanimAttr + "=\"" + animation + "\" style=\"position: relative; left: 10000;\">";
  77. ;          outString += ih;
  78. ;          outString += "</SPAN>";
  79. ;          document.all[index].innerHTML = outString;
  80. ;          document.all[index].style.posLeft = 0;
  81. ;          document.all[index].setAttribute(dynamicanimAttr, null);
  82. ;        }
  83. ;      }
  84. ;    }
  85. ;    i = 0;
  86. ;    for (index=document.body.sourceIndex; index < document.all.length; index++)
  87. ;    {
  88. ;      el = document.all[index];
  89. ;      animation = el.getAttribute(dynamicanimAttr, false);
  90. ;      if (null != animation)
  91. ;      {
  92. ;        if(animation == "flyLeft")
  93. ;        {
  94. ;          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth;
  95. ;          el.style.posTop = 0;
  96. ;        }
  97. ;        else if(animation == "flyRight")
  98. ;        {
  99. ;          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth;
  100. ;          el.style.posTop = 0;
  101. ;        }
  102. ;        else if(animation == "flyTop" || animation == "dropWord")
  103. ;        {
  104. ;          el.style.posLeft = 0;
  105. ;          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight;
  106. ;        }
  107. ;        else if(animation == "flyBottom")
  108. ;        {
  109. ;          el.style.posLeft = 0;
  110. ;          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight;
  111. ;        }
  112. ;        else if(animation == "flyTopLeft")
  113. ;        {
  114. ;          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth;
  115. ;          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight;
  116. ;        }
  117. ;        else if(animation == "flyTopRight" || animation == "flyTopRightWord")
  118. ;        {
  119. ;          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth;
  120. ;          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight;
  121. ;        }
  122. ;        else if(animation == "flyBottomLeft")
  123. ;        {
  124. ;          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth;
  125. ;          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight;
  126. ;        }
  127. ;        else if(animation == "flyBottomRight" || animation == "flyBottomRightWord")
  128. ;        {
  129. ;          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth;
  130. ;          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight;
  131. ;        }
  132. ;        else if(animation == "spiral")
  133. ;        {
  134. ;          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth;
  135. ;          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight;
  136. ;        }
  137. ;        else if(animation == "zoomIn")
  138. ;        {
  139. ;          el.style.posLeft = 10000;
  140. ;          el.style.posTop = 0;
  141. ;        }
  142. ;        else if(animation == "zoomOut")
  143. ;        {
  144. ;          el.style.posLeft = 10000;
  145. ;          el.style.posTop = 0;
  146. ;        }
  147. ;        else
  148. ;        {
  149. ;          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth;
  150. ;          el.style.posTop = 0;
  151. ;        }
  152. ;        el.initLeft = el.style.posLeft;
  153. ;        el.initTop = el.style.posTop;
  154. ;        animateElements[i++] = el;
  155. ;      }
  156. ;    }
  157. ;    window.setTimeout("animate();", speed);
  158. ;  }
  159. ;  function offsetLeft(el)
  160. ;  {
  161. ;    x = el.offsetLeft;
  162. ;    for (e = el.offsetParent; e; e = e.offsetParent)
  163. ;      x += e.offsetLeft;
  164. ;    return x;
  165. ;  } 
  166. ;  function offsetTop(el)
  167. ;  {
  168. ;    y = el.offsetTop;
  169. ;    for (e = el.offsetParent; e; e = e.offsetParent)
  170. ;      y += e.offsetTop;
  171. ;    return y;
  172. ;  } 
  173. ;  function startWord(ih, i)
  174. ;  {
  175. ;    for(tag = false; i < ih.length; i++)
  176. ;    {
  177. ;      c = ih.charAt(i);
  178. ;      if(c == '<')
  179. ;        tag = true;
  180. ;      if(!tag)
  181. ;        return i;
  182. ;      if(c == '>')
  183. ;        tag = false;
  184. ;    }
  185. ;    return -1;
  186. ;  }
  187. ;  function endWord(ih, i)
  188. ;  {
  189. ;    nonSpace = false;
  190. ;    space = false;
  191. ;    while(i < ih.length)
  192. ;    {
  193. ;      c = ih.charAt(i);
  194. ;      if(c != ' ')
  195. ;        nonSpace = true;
  196. ;      if(nonSpace && c == ' ')
  197. ;        space = true;
  198. ;      if(c == '<')
  199. ;        return i;
  200. ;      if(space && c != ' ')
  201. ;        return i;
  202. ;      i++;
  203. ;    }
  204. ;    return -1;
  205. ;  }
  206. ;  function outWord(ih, i1, i2, dyn, anim)
  207. ;  {
  208. ;    if(dyn)
  209. ;      outString += "<SPAN " + dynamicanimAttr + "=\"" + anim + "\" style=\"position: relative; left: 10000;\">";
  210. ;    outString += ih.substring(i1, i2);
  211. ;    if(dyn)
  212. ;      outString += "</SPAN>";
  213. ;  }
  214. ;  function animate()
  215. ;  {
  216. ;    el = animateElements[currentElement];
  217. ;    animation = el.getAttribute(dynamicanimAttr, false);
  218. ;    step++;
  219. ;    if(animation == "spiral")
  220. ;    {
  221. ;      steps = stepsSpiral;
  222. ;      v = step/steps;
  223. ;      rf = 1.0 - v;
  224. ;      t = v * 2.0*Math.PI;
  225. ;      rx = Math.max(Math.abs(el.initLeft), 200);
  226. ;      ry = Math.max(Math.abs(el.initTop),  200);
  227. ;      el.style.posLeft = Math.ceil(-rf*Math.cos(t)*rx);
  228. ;      el.style.posTop  = Math.ceil(-rf*Math.sin(t)*ry);
  229. ;    }
  230. ;    else if(animation == "zoomIn")
  231. ;    {
  232. ;      steps = stepsZoom;
  233. ;      el.style.fontSize = Math.ceil(50+50*step/steps) + "%";
  234. ;      el.style.posLeft = 0;
  235. ;    }
  236. ;    else if(animation == "zoomOut")
  237. ;    {
  238. ;      steps = stepsZoom;
  239. ;      el.style.fontSize = Math.ceil(100+200*(steps-step)/steps) + "%";
  240. ;      el.style.posLeft = 0;
  241. ;    }
  242. ;    else
  243. ;    {
  244. ;      steps = stepsFly;
  245. ;      if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")
  246. ;        steps = stepsWord;
  247. ;      dl = el.initLeft / steps;
  248. ;      dt = el.initTop  / steps;
  249. ;      el.style.posLeft = el.style.posLeft - dl;
  250. ;      el.style.posTop = el.style.posTop - dt;
  251. ;    }
  252. ;    if (step >= steps)
  253. ;    {
  254. ;      el.style.posLeft = 0;
  255. ;      el.style.posTop = 0;
  256. ;      currentElement++;
  257. ;      step = 0;
  258. ;    }
  259. ;    if(currentElement < animateElements.length)
  260. ;      window.setTimeout("animate();", speed);
  261. ;  }
  262. ;//-->
  263. ;</script>
  264.  
  265.  
  266. [BODY_TAG]
  267. ;onload="dynAnimation8()"
  268.  
  269.  
  270. [BODY_TEXT]
  271. ;<p dynamicanimation8="dropWord"
  272. ;style="position: relative !important; left: 10000 !important"><big><big>`title`</big></big></p>
  273.  
  274.  
  275.  
  276.  
  277. [`title`]
  278. Kind=S
  279. Value=Thanks for dropping by! Please visit us again soon.
  280.  
  281.  
  282.